<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    let number = 18
    let person = {
        name:'张三',
        sex:'男',
    }
    Object.defineProperty(person,'age',{
        value:18,
        enumerable:true,    //控制属性是否可以枚举,默认值是false
        writable:true,  //控制属性是否可以被修改,默认false
        configurable:true,   //控制属性是否可以被删除,默认false

        //当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
        get:function(){
            return number
        },
        // get(){   可以这样直接简写
        //     return number
        // }

        //当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值
        set(value){
            number = value
        }
    })
</script>
</html>